package StreanmLearn.Middle;

import java.util.ArrayList;
import java.util.Collections;
import java.util.stream.Stream;

public class Streanm流的中间方法2 {
    public static void main(String[] args) {
        /*
        distinct   元素的去重，依赖（hash方法和equals方法)
        concet    合并a和b两个流为一个流

        注意1:中间方法，返回新的Streanm,原来的Stream流只能使用一次，建议所有链式编程
        注意2:修改Stream流中的数据，不会影响原来的集合或者数据
         */
        ArrayList<String> listA=new ArrayList<>();
        Collections.addAll(listA,"张无忌","张无忌","张无忌","李四","张强","张无忌","张三丰","王五","克莱普","谢广坤");

        ArrayList<String> listB=new ArrayList<>();
        Collections.addAll(listB,"马超","张飞");

        //distinct   元素的去重，依赖（hash方法和equals方法)
        listA.stream().distinct().forEach(s-> System.out.println(s));

        //concet    合并a和b两个流为一个流
        //合并过程需要尽可能保证数据类型一致
        Stream.concat(listA.stream(),listB.stream()).forEach(s-> System.out.println(s));


    }
}
